package com.ruoyi.system.service;

import java.util.List;

import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.system.domain.TestCase;
import com.ruoyi.system.domain.TestCasePlan;

/**
 * 测试用例Service接口
 * 
 * @author ruoyi
 * @date 2023-09-26
 */
public interface ITestCaseService 
{
    /**
     * 查询测试用例
     * 
     * @param id 测试用例主键
     * @return 测试用例
     */
    public TestCase selectTestCaseById(Long id);

    /**
     * 查询测试用例列表
     * 
     * @param testCase 测试用例
     * @return 测试用例集合
     */
    public List<TestCase> selectTestCaseList(TestCase testCase);

    /**
     * 新增测试用例
     * 
     * @param testCase 测试用例
     * @return 结果
     */
    public int insertTestCase(TestCase testCase);

    /**
     * 修改测试用例
     * 
     * @param testCase 测试用例
     * @return 结果
     */
    public int updateTestCase(TestCase testCase);

    /**
     * 批量删除测试用例
     * 
     * @param ids 需要删除的测试用例主键集合
     * @return 结果
     */
    public int deleteTestCaseByIds(String ids);

    /**
     * 删除测试用例信息
     * 
     * @param id 测试用例主键
     * @return 结果
     */
    public int deleteTestCaseById(Long id);

    public List<TestCase> selectAllocatedList(TestCase testCase);

    int deleteAuthCase(TestCasePlan testCasePlan);

    List<TestCase> selectUnAllocatedList(TestCase testCase);

    int insertAuthCases(Long planId, String caseIds);
}
